⚡ 30 秒速记

  • 核心判断:理解原理要建立输入、状态变化、输出和失败边界,而不是只记 API 与结论
  • 原理主线:围绕 「高阶组件(HOC):最经典的组件逻辑复用」、「Render Props:逻辑复用的另一」、「有状态组件与无状态组件:“单一职责”原则」 建立输入、状态变化与输出之间的因果关系
  • 文章范围:讲解了 React 中的高阶组件(HOC)等设计模式,介绍了其原理、实现方式及在实际开发中如何复用组件逻辑,帮助开发者更好地理解和应用 React 设计思想。
  • 边界与代价:文章中的实现通常有版本和场景前提,迁移到当前项目时必须先核对运行环境与依赖
  • 工程落地:面试回答按核心机制、执行链路、边界反例和工程验证展开,最后说明取舍

React 中的设计模式,本质上是在控制变化范围的同时复用组件逻辑。 HOC 通过函数包裹组件统一注入能力,render props 则把数据适配权交给调用方,因此面对不同属性名时更灵活。数据处理和界面渲染也应尽量拆到有状态组件与无状态组件中,让两类变化互不牵连。实际开发中我一般优先考虑自定义 Hook,因为它能减少嵌套和属性冲突;但维护旧类组件时,HOCrender props 仍有价值。

这篇文章不要按 API 清单来背。先用上面的 Mind Map 建立全局结构,再通过交互 DEMO 观察正常路径和边界路径如何改变状态;阅读正文时重点核对每一步的输入、负责执行的参与者、产生的中间状态以及最终可观察结果。遇到版本敏感结论,要把“历史实现”“当前行为”和“工程兼容策略”分开说明;遇到性能或架构取舍,则用实际指标、失败现象和验证手段支撑判断。

版本校准: 本文若分析 ReactDOM.render、旧生命周期或栈调和,应把它视为理解架构演进的历史路径。React 19 已移除 ReactDOM.render,当前客户端入口使用 createRoot;并发渲染也必须区分可中断的渲染阶段与同步提交阶段。迁移前对照 React 19 官方升级指南

# 高阶组件(HOC):最经典的组件逻辑复用方式

# 什么是高阶组件

高阶组件(HOC)是 React 中用于复用组件逻辑的一种高级技巧。HOC 自身不是 React API 的一部分,它是一种基于 React 的组合特性而形成的设计模式。——React 官方

高阶函数的概念:接收函数作为输入,或者输出另一个函数的一类函数,就是高阶函数。

相应的,高阶组件指的就是参数为组件,返回值为新组件的函数。没错,高阶组件本质上是一个函数。下面是一个简单的高阶组件示例:

const withProps = (WrappedComponent) => {
    const targetComponent = (props) => (
        <div className="wrapper-container">
            <WrappedComponent {...props} />
        </div>
    );
    return targetComponent;
};
webapp
公众号
开发者导航
切换夜间模式
点击侧边栏上一篇
点击侧边栏下一篇
折叠侧边栏
收起全部